package fr.unice.tinytorrent.main;

import java.io.File;

import fr.unice.tinytorrent.objects.ClientImpl;

public class ShareMain {

	/**
	 * cette classe permet le partage des ressources
	 * en gros en partage deux ressources différentes 
	 * <br> la première se trouve chez trois utilisateurs tandis que la deuxième se trouve chez un seul utilisateur "l1" Client1
	 */
	public static void main(String[] args) {
		
		
		try
		{
			ClientImpl l1 = new ClientImpl(new File("./tmp/tinytorrent/client1"), "rmi://localhost:1099/Tracker");
			l1.share(new File("./tmp/tinyTorrent/Nothing_Else_Matters.mp3"), l1.getTrackerUrl());
			
			
			System.out.println("flux partagé :"+l1.getUp());
			System.out.println("Ratio du client1 avant téléchargement : "+l1.getRatio());
			
			
			// 2 ème exemple
			l1.share(new File("./tmp/tinyTorrent/Daughtry - Crashed.mp3"), "rmi://localhost:1099/Tracker");
			//**********************************************************************************************
			
			
			
			ClientImpl l2 = new ClientImpl(new File("./tmp/tinytorrent/client2"), "rmi://localhost:1099/Tracker");
			l2.share(new File("./tmp/tinytorrent/Nothing_Else_Matters.mp3"), l2.getTrackerUrl());
			
			System.out.println("Ratio du client2 avant téléchargement : "+l2.getRatio());
			System.out.println(l1.UptoString());
			//**************************************************************************************************
			
			
			
			ClientImpl l3 = new ClientImpl(new File("./tmp/tinytorrent/client3"), "rmi://localhost:1099/Tracker");
			l3.share(new File("./tmp/tinytorrent/Nothing_Else_Matters.mp3"), l3.getTrackerUrl());
			
			System.out.println("Ratio du client3 avant téléchargement : "+l3.getRatio());
			System.out.println(l1.UptoString());
			//**************************************************************************************************
		}
		catch (Exception e) { e.printStackTrace(); }
		

	}

}
